package com.ruoyi.sms.domain.dto;

import lombok.Data;

/**
 * 使用短信模板发送请求参数
 *
 * @author Xz
 * @date 2021-10-28 15:41
 */
@Data
public class SendWithTemplateReqDTO extends Dh3tBaseReqDTO {

    //接收手机号码，多个手机号码用英文逗号分隔，最多1000个
    private String phones;

    //短信内容，最多1000个汉字，内容中不要出现【】[]这两种方括号，该字符为签名专用
    private String content;

    //该批短信编号(32位UUID)，需保证唯一，不填的话响应里会给一个系统生成的
    private String msgid;

    //短信签名，该签名需要提前报备，生效后方可使用，不可修改，不填使用默认签名
    private String sign;

    //短信签名对应子码(大汉三通提供)+自定义扩展子码(选填)，必须是数字，未填使用签名对应子码，无法前匹配签名对应子码则使用签名对应子码+所填子码，通常建议不填
    private String subcode;

    //定时发送时间，格式yyyyMMddHHmm，为空或早于当前时间则立即发送
    private String sendtime;

    //终端客户自定义参数params（总长度限制为1000），参数类型为Map，如果携带此参数会在状态报告里返回，示例：”params”:{“param1”:”aaa”,”param2”:”bbb”}
    private String params;

    //是否支持长链接替换下发，填true时内容中查找符合规则（以http或https或ftp或weixin://开头，长度大于14位且长链接两头有空格或\t或换行）的第一个长链接进行替换（一个号码对应一个短链接）后下发。(若短信内容存在多个url地址,将会以第一个url替换)
    private String urlReplace;

    //个性回调地址，该条短信的状态报告会推送到该回调地址，注意：1)使用该参数需提前在客户服务群告知使用账号，我司需对账号配置方生效。2)回调地址固定的客户不需要使用此参数，可以直接根据推送接口进行对接
    private String callbackurl;

    //短信模板格式，id对应模板id，variables对应模板内容的键值对集合，name对应变量内容序号（序号从1开始，必填），value对应具体内容；
    private Template template;

}
